home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha Extra 2004 January / CyberMycha Extra 1-2004 (Poland) (Disc 2).bin / Pippi / gmdl.dir / Internal_44_tommy-annika.ls < prev    next >
Encoding:
Text File  |  2001-09-04  |  5.6 KB  |  211 lines

  1. property meSprite, otherSprite, meLetter, meWetDegree, moving, delayCounter, xTick, Vpos, xDist, xLastDist, dead, meScale, recover, tixTimer, finishGameTimer, finishGameTrig, xTickValue, orgVpos
  2. global gmObject, sndObject
  3.  
  4. on beginSprite me
  5.   finishGameTrig = 0
  6.   recover = 0
  7.   dead = 0
  8.   xDist = 0
  9.   Vpos = 1
  10.   xTickValue = 16
  11.   xTick = the ticks + xTickValue
  12.   moving = random(3) - 2
  13.   delayCounter = 0
  14.   meSprite = sprite(me.spriteNum)
  15.   meLetter = meSprite.member.name.char[1]
  16.   meWetDegree = 1
  17.   orgVpos = meSprite.locV
  18.   if meLetter = "t" then
  19.     gmObject.tommy = meSprite
  20.     otherSprite = sprite(me.spriteNum + 1)
  21.   else
  22.     gmObject.annika = meSprite
  23.     otherSprite = sprite(me.spriteNum - 1)
  24.   end if
  25. end
  26.  
  27. on recoverX me
  28.   finishGameTrig = 0
  29.   recover = 0
  30.   dead = 1
  31.   meWetDegree = 1
  32.   handleDryUp(me)
  33.   xTick = the ticks + xTickValue
  34.   delayCounter = 0
  35. end
  36.  
  37. on getWet me
  38.   tixTimer = the ticks
  39.   if dead = 0 then
  40.     meWetDegree = meWetDegree + 1
  41.     if meWetDegree = 10 then
  42.       if otherSprite.dead = 1 then
  43.         finishGameTrig = 1
  44.         finishGameTimer = the ticks
  45.       end if
  46.       dead = 1
  47.       moving = 0
  48.       meSprite.loc = meSprite.loc + point(0, 40)
  49.       meScale = meSprite.member.scale
  50.       repeat with n = 2 to 10
  51.         member(meLetter & "Laf" & string(n), 1).scale = meScale
  52.       end repeat
  53.     end if
  54.     setmember(me)
  55.   else
  56.     if meWetDegree < 10 then
  57.       meWetDegree = meWetDegree + 1
  58.     end if
  59.     meSprite.member = member(meLetter & "Laf" & string(meWetDegree), 1)
  60.     meSprite.play()
  61.   end if
  62. end
  63.  
  64. on handleDryUp me
  65.   if meWetDegree > 1 then
  66.     meWetDegree = meWetDegree - 1
  67.     if dead = 0 then
  68.       setmember(me)
  69.     else
  70.       setSitMember(me)
  71.     end if
  72.   else
  73.     if dead = 1 then
  74.       dead = 0
  75.       moving = random(3) - 2
  76.       meSprite.loc = meSprite.loc + point(0, -40)
  77.       setmember(me)
  78.     end if
  79.   end if
  80. end
  81.  
  82. on setSitMember me
  83.   meSprite.member = member(meLetter & "10", 1)
  84.   updateStage()
  85.   meSprite.gotoFrame(11 - meWetDegree)
  86.   updateStage()
  87. end
  88.  
  89. on setmember me
  90.   meSprite.member = member(meLetter & string(meWetDegree), 1)
  91.   meSprite.member.scale = 107 - (Vpos * 7)
  92.   updateStage()
  93.   meSprite.gotoFrame(1)
  94.   if meWetDegree < 10 then
  95.     H = meSprite.locH
  96.     meSprite.loc = point(H, orgVpos + 20 - (Vpos * 20))
  97.     meSprite.locZ = me.spriteNum + 2 - (Vpos * 2)
  98.   end if
  99.   updateStage()
  100. end
  101.  
  102. on exitFrame me
  103.   if the frameLabel = "main" then
  104.     if the ticks > (tixTimer + 250) then
  105.       tixTimer = the ticks
  106.       handleDryUp(me)
  107.     end if
  108.     if finishGameTrig = 1 then
  109.       if (the ticks > (finishGameTimer + 100)) and (dead = 1) and (otherSprite.dead = 1) then
  110.         if soundBusy(2) = 1 then
  111.           repeat while soundBusy(2)
  112.           end repeat
  113.         end if
  114.         go("interLeave")
  115.         sound(2).play(member("dryQuick", 1))
  116.       end if
  117.     end if
  118.     if dead = 0 then
  119.       delayCounter = delayCounter + 1
  120.       if delayCounter = 10 then
  121.         case moving of
  122.           1:
  123.             if random(5) = 1 then
  124.               moving = random(3) - 2
  125.               meSprite.gotoFrame(1)
  126.             end if
  127.           (-1):
  128.             if random(5) = 1 then
  129.               moving = random(3) - 2
  130.               meSprite.gotoFrame(1)
  131.             end if
  132.           0:
  133.             if random(3) = 1 then
  134.               moving = random(3) - 2
  135.               meSprite.gotoFrame(1)
  136.             end if
  137.         end case
  138.         if moving <> 0 then
  139.           if meLetter = "t" then
  140.             sndObject.respondSnd(3, 4)
  141.           else
  142.             sndObject.respondSnd(3, 3)
  143.           end if
  144.           if otherSprite.moving = 1 then
  145.             sndObject.respondSnd(3, 5)
  146.           end if
  147.           if random(5) = 1 then
  148.             v = random(3) - 2
  149.             xPos = Vpos
  150.             xPos = xPos + v
  151.             if ((xPos < 1) or (xPos > 5)) = 0 then
  152.               xDist = otherSprite.locH - meSprite.locH
  153.               if ((otherSprite.Vpos = xPos) and ((xDist < 30) and (xDist > -30))) = 0 then
  154.                 Vpos = xPos
  155.                 setmember(me)
  156.               end if
  157.             end if
  158.           end if
  159.         end if
  160.         delayCounter = 0
  161.       end if
  162.       if the ticks > xTick then
  163.         xLastDist = xDist
  164.         xDist = otherSprite.locH - meSprite.locH
  165.         if ((xDist < xLastDist) and (xDist > 0)) or ((xDist > xLastDist) and (xDist < 0)) then
  166.           if Vpos = otherSprite.Vpos then
  167.             if (xDist < 30) and (xDist > -30) then
  168.               if otherSprite.locH < meSprite.locH then
  169.                 moving = 1
  170.                 if otherSprite.dead = 0 then
  171.                   otherSprite.moving = -1
  172.                 end if
  173.               else
  174.                 moving = -1
  175.                 if otherSprite.dead = 0 then
  176.                   otherSprite.moving = 1
  177.                 end if
  178.               end if
  179.               meSprite.loc = meSprite.loc + point(10 * moving, 0)
  180.               otherSprite.loc = otherSprite.loc + point(10 * otherSprite.moving, 0)
  181.             end if
  182.           end if
  183.         end if
  184.         if moving <> 0 then
  185.           v = meSprite.frame + 1
  186.           if v = 5 then
  187.             v = 1
  188.           end if
  189.           meSprite.gotoFrame(v)
  190.           meSprite.loc = meSprite.loc + point(8 * moving, 0)
  191.         end if
  192.         if meSprite.locH > gmObject.stopR then
  193.           moving = -1
  194.         else
  195.           if meSprite.locH < gmObject.stopL then
  196.             moving = 1
  197.           end if
  198.         end if
  199.         xTick = the ticks + xTickValue
  200.       end if
  201.     else
  202.       if meSprite.member.name = (meLetter & "Laf" & meWetDegree) then
  203.         if meSprite.frame = meSprite.member.frameCount then
  204.           meSprite.frame = 1
  205.           setSitMember(me)
  206.         end if
  207.       end if
  208.     end if
  209.   end if
  210. end
  211.